解决KEIL或IAR在莫名其妙的地方报expect a “)”或expect a “;”错误的问题 |
您所在的位置:网站首页 › 编译器bug 寻找 › 解决KEIL或IAR在莫名其妙的地方报expect a “)”或expect a “;”错误的问题 |
背景
楼主在写代码时遇到个问题,查找莫名其妙的地方报错expect a “)”或expect a “;”,如下图: 楼主百思不得其解,试过将KEIL的编译器版本改为6,此时这段代码不再报故障,但是并不知道根本原因,最后在CSDN查到了这篇文章 链接: https://blog.csdn.net/zhzht19861011/article/details/5823537,文中提到: 6.error: #18: expected a ")" 如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符 如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符.再仔细看看代码上下文,这才找出原因所在。 柳暗花明原因在于,没有结合前面的error起来一起看,编译器不认识uint32_t,因此也就无法定义出ulCurrentInterrupt这个变量,因此在后文中ulCurrentInterrupt右边的括号编译器并未识别到,进而提示该段缺少“)”。 异曲同工IAR中也存在类似问题,如下图: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |